package 每日一题;

import java.util.Arrays;

/**
 * 2605. 从两个数字数组里生成最小数字
 * 提示
 * 简单
 * 34
 * 相关企业
 * 给你两个只包含 1 到 9 之间数字的数组 nums1 和 nums2 ，每个数组中的元素 互不相同 ，请你返回 最小 的数字，两个数组都 至少 包含这个数字的某个数位。
 *
 *
 * 示例 1：
 *
 * 输入：nums1 = [4,1,3], nums2 = [5,7]
 * 输出：15
 * 解释：数字 15 的数位 1 在 nums1 中出现，数位 5 在 nums2 中出现。15 是我们能得到的最小数字。
 * 示例 2：
 *
 * 输入：nums1 = [3,5,2,6], nums2 = [3,1,7]
 * 输出：3
 * 解释：数字 3 的数位 3 在两个数组中都出现了。
 *
 *
 * 提示：
 *
 * 1 <= nums1.length, nums2.length <= 9
 * 1 <= nums1[i], nums2[i] <= 9
 * 每个数组中，元素 互不相同 。
 */
public class T2605_从两个数字组数里生成最小的数字 {
    //如果两个数组存在相同的数字，直接用最小相同的数字组成个位数，如果没有相同的数字 两边个选择一个最小的数组成两位数
    public int minNumber(int[] nums1, int[] nums2) {

        Arrays.sort(nums1);
        Arrays.sort(nums2);

        //判断是否有相同的数字
        for (int k : nums1) {
            for (int i : nums2) {
                if (k == i) {
                    return k;
                }
            }
        }

        //不存在相同 各取第一个元素
        return Math.min(nums1[0], nums2[0] * 10 + Math.max(nums1[0], nums2[0]));

    }
}
